# locust777

//#include<stdio.h>
//#include<windows.h>
//int main()
//{
//	int arr1[4] = {1,2,3,4};
//	int arr2[4] = {2,3,4,5};
//	int arr3[4] = {3,4,5,6};
//	int *parr[3] = {arr1,arr2,arr3};
//	int i = 0;
//	for(i = 0;i<3;i++)
//	{
//	int j = 0;
//	for(j = 0;j < 4;j++)
//	{
//	printf("%d ",parr[i][j]);
//	}
//	printf("\n");
//	}
//
//	system("pause");
//return 0;
//}
//
//arr1 ----> 1 2 3 4
//arr2 ----> 2 3 4 5
//arr3 ----> 3 4 5 6


////结构体
//
//1.结构体的基础知识
//：结构是一些值的集合，这些值称为成员变量，结构的每个成员可以是不同类型的变量
//结构  结构是一种集合
//char
//short
//int long
//long long
//float
//double
//内置类型
//
//数组一组相同类型元素的集合
//
//复杂对象
//
//人：名字+电话+性别+身高
//
//书：书名+作者+定价+书号
//
//复杂对象的描述就会使用到：结构体


//struct tag
//{
//	member-list;
//
//}variable-list;

//struct Peo
//{
//    char name[20];
//	char tele[12];                //成员变量
//	char sex[5]; //女 男 保密
//	int high;
//}


//struct Peo
//{
//    char name[20];
//	char tele[12];                //成员变量
//	char sex[5]; //女 男 保密
//	int high;
//}p1,p2;
//// p1和p2是使用使用struct Peo结构类型创建的2个变量


//int main()
//{
//	struct Peo p1 = { 0 };//结构体变量的创建
//    return 0;
//
//}

//类型  ----------------------->p1是结构体变量
//类    ----------------------->对象
//图纸  ----------------------->房子


//struct Peo
//{
//    char name[20];
//	char tele[12];                //成员变量
//	char sex[5]; //女 男 保密
//	int high;
//};
//

//#include<stdio.h>
//#include<windows.h>
//struct Peo
//{
//    char name[20];
//	char tele[12];              
//	char sex[5]; //女 男 保密
//	int high;
//}p3,p4;
//
//struct St
//{
//struct Peo P;
//int num;
//float f;
//};
//
//struct Peo p5,p6;
//
//int main()
//{
//	struct Peo p1 = {"张三","19115685214","男",181};//结构体变量的创建
//	struct St s = {{"list","18083054520","女",166},100,3.14f};
//
//	printf("%s %s %s %s\n",p1.high,p1.tele,p1.sex,p1.high);
//	printf("%s %s %s %s\n",s.P.name,s.P.tele,s.P.sex,s.P.high,s.num,s.f);
//	return 0;
//}



//机构体

//#include<stdio.h>
//#include<windows.h>
////1.
//struct Peo
//{
//    char name[20];
//	char tele[12];              
//	char sex[5]; //女 男 保密
//	int high;
//}p3,p4;
//
////2.
//struct St
//{
//struct Peo P;
//int num;
//float f;
//};
//
////1.
//void printf2(struct Peo* sp)
//{
//	printf("%s %s %s %d\n",sp->name,sp->tele,sp->sex,sp->high);//结构体指针->成员
//}
//
////2.
//void printf1(struct Peo p)
//{
//	printf("%s %s %s %d\n",p.name,p.tele,p.sex,p.high);//结构变量.成员变量
//}
//
////struct Peo p5,p6;
//
//int main()
//{
//	struct Peo p1 = {"张三","19115685214","男",181};//结构体变量的创建
//	struct St s = {{"list","18083054520","女",166},100,3.14f};
//
//	printf("%s %s %s %d\n",p1.name,p1.tele,p1.sex,p1.high);
//	//printf("%s %s %s %s\n",p1.high,p1.tele,p1.sex,p1.high);
//	printf("%s %s %s %d %d %f\n",s.P.name,s.P.tele,s.P.sex,s.P.high,s.num,s.f);
//	
//	printf1(p1);
//	printf2(&p1);
//
//	system("pause");
//	return 0;
//}


//int main()
//{
//	print1(s); //传结构体
//	print2(&s); //传地址
//
//	return 0;
//}
//
//上面的printf1和printf2哪个好？
//
//答案：首选print2
//
//原因是：
//	函数传参的时候，传参需要压线的。
//	如果传递一个结构体对象的时候，结构体过大，参数压栈的系统开销比较大，所以会导致性能的下降
//
//结论：
//	结构体传参的时候，要传结构体的地址




//                       1.结构体传参


#include<stdio.h>
#include<windows.h>

int main()
{
	int a,b,c;
	a = 5;
	c = ++a;  // a = 6, c = 6
	b = ++c,c++,++a,a++; // b = 7 ,c = 8,a = 8
	b += a++ + c; // a = 9 b = 23 b = a + c + b = 8 + 8 + 7
	printf("a = %d b = %d c = %d\n",a,b,c);
	//       9       23      8

	system("pause");
	return 0;
}
